#!/usr/bin/env bash
set -eo pipefail

SELFDIR=$(dirname "$0")
SELFDIR=$(cd "$SELFDIR" && pwd)
PASSENGER_ROOT=$(cd "$SELFDIR/../.." && pwd)
# shellcheck source=lib/functions.sh
source "$SELFDIR/lib/functions.sh"
cd "$PASSENGER_ROOT"

autodetect_environment
sanity_check_environment
echo

if [[ "$OS" != macos ]]; then
	echo "ERROR: this script can only be run on macOS." >&2
	exit 1
fi

if [[ -e ~/.password ]]; then
	# If possible, unlock the keychain in order to prevent password prompts.
	echo "+ Unlocking keychain"
	if [[ -e ~/Library/Keychains/login.keychain ]]; then
		run security unlock-keychain -p "$(cat ~/.password)" ~/Library/Keychains/login.keychain
	fi
	if [[ -e ~/Library/Keychains/login.keychain-db ]]; then
		run security unlock-keychain -p "$(cat ~/.password)" ~/Library/Keychains/login.keychain-db
	fi
fi

export HOMEBREW_NO_GITHUB_API="disable"
export HOMEBREW_NO_INSTALL_FROM_API="disable"

export CI_COMMAND="./dev/ci/run-tests-natively $*"
exec "$PASSENGER_ROOT/dev/ci/scripts/debug-console-wrapper.sh" \
	"$PASSENGER_ROOT/dev/ci/scripts/run-tests-natively-stage2.sh" "$@"
